<?php

/*

  $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


  OSC-Affiliate



  Contribution based on:



  Ecommerce Shopping Cart Software

  http://www.ecommerceshoppingcartsoftware.org



  Copyright (c) 2004 Ecommerce Shopping Cart Software Developers.  Portions Copyright (c) 2001-2004 osCommerce: http://www.oscommerce.com



  Released under the GNU General Public License

*/



// CHECKIT

// -> optimize code -> double parts



// require of application_top not possible

// cause then whois online registers it also as visitor

//



  define('TABLE_AFFILIATE_BANNERS_HISTORY', 'affiliate_banners_history');

  define('TABLE_AFFILIATE_BANNERS', 'affiliate_banners');

  define('TABLE_PRODUCTS', 'products');



// Set the local configuration parameters - mainly for developers

  if (file_exists('includes/local/configure.php')) include('includes/local/configure.php');

  require('includes/configure.php');

  if (file_exists('includes/local/affiliate_configure.php')) include('includes/local/affiliate_configure.php');

  require('includes/affiliate_configure.php');



// include the database functions

  require(DIR_WS_FUNCTIONS . 'database.php');

// make a connection to the database... now

  escs_db_connect() or die('Unable to connect to database server!');



  function affiliate_show_banner($pic) {

//Read Pic and send it to browser

    $fp = fopen($pic, "rb");

    if (!$fp) exit();

// Get Image type

    $img_type = substr($pic, strrpos($pic, ".") + 1);

// Get Imagename

    $pos = strrpos($pic, "/");

    if ($pos) {

      $img_name = substr($pic, strrpos($pic, "/" ) + 1);

    } else {

      $img_name=$pic;

    }

    header ("Content-type: image/$img_type");

    header ("Content-Disposition: inline; filename=$img_name");

    fpassthru($fp);

    // The file is closed when fpassthru() is done reading it (leaving handle useless).

    // fclose ($fp);

    exit();

  }



  function affiliate_debug($banner,$sql) {

?>

    <table border=1 cellpadding=2 cellspacing=2>

      <tr><td colspan=2>Check the pathes! (catalog/includes/configure.php)</td></tr>

      <tr><td>absolute path to picture:</td><td><?php echo DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG. DIR_WS_IMAGES . $banner; ?></td></tr>

      <tr><td>build with:</td><td>DIR_FS_DOCUMENT_ROOT . DIR_WS_CATALOG . DIR_WS_IMAGES . $banner</td></tr>

      <tr><td>DIR_FS_DOCUMENT_ROOT</td><td><?php echo DIR_FS_DOCUMENT_ROOT; ?></td></tr>

      <tr><td>DIR_WS_CATALOG</td><td><?php echo DIR_WS_CATALOG ; ?></td></tr>

      <tr><td>DIR_WS_IMAGES</td><td><?php echo DIR_WS_IMAGES; ?></td></tr>

      <tr><td>$banner</td><td><?php echo $banner; ?></td></tr>

      <tr><td>SQL-Query used:</td><td><?php echo $sql; ?></td></tr>

      <tr><th>Try to find error:</td><td>&nbsp;</th></tr>

      <tr><td>SQL-Query:</td><td><?php if ($banner) echo "Got Result"; else echo "No result"; ?></td></tr>

      <tr><td>Locating Pic</td><td>

<?php

    $pic = DIR_FS_CATALOG . DIR_WS_IMAGES . $banner;

    echo $pic . "<br>";

    if (!is_file($pic)) {

      echo "failed<br>";

    } else {

      echo "success<br>";

    }

?>

      </td></tr>

    </table>

<?php

    exit();

  }



// Register needed Post / Get Variables

  if ($HTTP_GET_VARS['ref']) $affiliate_id=$HTTP_GET_VARS['ref'];

  if ($HTTP_POST_VARS['ref']) $affiliate_id=$HTTP_POST_VARS['ref'];



  if ($HTTP_GET_VARS['affiliate_banner_id']) $banner_id = $HTTP_GET_VARS['affiliate_banner_id'];

  if ($HTTP_POST_VARS['affiliate_banner_id']) $banner_id = $HTTP_POST_VARS['affiliate_banner_id'];

  if ($HTTP_GET_VARS['affiliate_pbanner_id']) $prod_banner_id = $HTTP_GET_VARS['affiliate_pbanner_id'];

  if ($HTTP_POST_VARS['affiliate_pbanner_id']) $prod_banner_id = $HTTP_POST_VARS['affiliate_pbanner_id'];



  $banner = '';

  $products_id = '';



  if ($banner_id) {

    $sql = "select affiliate_banners_image, affiliate_products_id from " . TABLE_AFFILIATE_BANNERS . " where affiliate_banners_id = '" . $banner_id  . "' and affiliate_status = 1";

    $banner_values = escs_db_query($sql);

    if ($banner_array = escs_db_fetch_array($banner_values)) {

      $banner = $banner_array['affiliate_banners_image'];

      $products_id = $banner_array['affiliate_products_id'];

    }

  }



  if ($prod_banner_id) {

    $banner_id = 1; // Banner ID for these Banners is one

    $sql = "select products_image from " . TABLE_PRODUCTS . " where products_id = '" . $prod_banner_id  . "' and products_status = 1";

    $banner_values = escs_db_query($sql);

    if ($banner_array = escs_db_fetch_array($banner_values)) {

      $banner = $banner_array['products_image'];

      $products_id = $prod_banner_id;

    }

  }



// DebugModus

  if (AFFILIATE_SHOW_BANNERS_DEBUG == 'true') affiliate_debug($banner,$sql);



  if ($banner) {

    $pic = DIR_FS_CATALOG . DIR_WS_IMAGES . $banner;



    // Show Banner only if it exists:

    if (is_file($pic)) {

      $today = date('Y-m-d');

    // Update stats:

      if ($affiliate_id) {

        $banner_stats_query = escs_db_query("select * from " . TABLE_AFFILIATE_BANNERS_HISTORY . " where affiliate_banners_id = '" . $banner_id  . "' and affiliate_banners_products_id = '" . $products_id ."' and affiliate_banners_affiliate_id = '" . $affiliate_id. "' and affiliate_banners_history_date = '" . $today . "'");

    // Banner has been shown today

        if ($banner_stats_array = escs_db_fetch_array($banner_stats_query)) {

          escs_db_query("update " . TABLE_AFFILIATE_BANNERS_HISTORY . " set affiliate_banners_shown = affiliate_banners_shown + 1 where affiliate_banners_id = '" . $banner_id  . "' and affiliate_banners_affiliate_id = '" . $affiliate_id. "' and affiliate_banners_products_id = '" . $products_id ."' and affiliate_banners_history_date = '" . $today . "'");

        } else { // First view of Banner today

          escs_db_query("insert into " . TABLE_AFFILIATE_BANNERS_HISTORY . " (affiliate_banners_id, affiliate_banners_products_id, affiliate_banners_affiliate_id, affiliate_banners_shown, affiliate_banners_history_date) VALUES ('" . $banner_id  . "', '" .  $products_id ."', '" . $affiliate_id. "', '1', '" . $today . "')");

        }

      }

    // Show Banner

      affiliate_show_banner($pic);

    }

  }



// Show default Banner if none is found

  if (is_file(AFFILIATE_SHOW_BANNERS_DEFAULT_PIC)) {

    affiliate_show_banner(AFFILIATE_SHOW_BANNERS_DEFAULT_PIC);

  } else {

    echo "<br>"; // Output something to prevent endless loading

  }

  exit();

?>